#include<bits/stdc++.h>
using namespace std;
int d[3002],v[3002],a[3002],p[3002],u0[3002],u1[3002],lb[3002][3002],t,n,m,l,V,ans;
int main()
{
    freopen("detect.in","r",stdin);
    freopen("detect.out","w",stdout);
    scanf("%d",&t);
    for(int i=1;i<=t;i++)
    {
        scanf("%d%d%d%d",&n,&m,&l,&V);
        ans=0;
        memset(d,0,sizeof(d));
        memset(v,0,sizeof(v));
        memset(a,0,sizeof(a));
        memset(p,0,sizeof(p));
        memset(u0,0,sizeof(u0));
        memset(u1,0,sizeof(u1));
        memset(lb,0,sizeof(lb));
        for(int j=1;j<=n;j++)
        {
            scanf("%d%d%d",&d[j],&v[j],&a[j]);
        }
        for(int j=1;j<=m;j++)
        {
            scanf("%d",&p[j]);
        }
        for(int j=1;j<=m;j++)
        {
            int w=0;
            for(int k=1;k<=n;k++)
            {
                if(p[j]>=d[k]&&sqrt(v[k]*v[k]+2.0*a[k]*(p[j]-d[k]))>V)
                {
                    if(u0[k]==0)
                    {
                        ans++;
                    }
                    w++;
                    lb[j][w]=k;
                    u0[k]++;
                    u1[j]++;
                }
            }
        }
        printf("%d ",ans);
        ans=0;
        for(int j=0;j<=n;j++)
        {
            for(int k=1;k<=m;k++)
            {
                if(u1[k]==j)
                {
                    if(j==0)
                    {
                        ans++;
                    }
                    else
                    {
                        bool f=0;
                        for(int o=1;lb[k][o]!=0;o++)
                        {
                            if(u0[lb[k][o]]==1)
                            {
                                f=1;
                                break;
                            }
                        }
                        if(!f)
                        {
                            ans++;
                            for(int o=1;lb[k][o]!=0;o++)
                            {
                                u0[lb[k][o]]--;
                            }
                        }
                    }
                }
            }
        }
        printf("%d\n",ans);
    }
    return 0;
}